home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Interactive 7
/
PC World Interactive 7.iso
/
program
/
dosref.EXE
/
CONTENTS
< prev
next >
Wrap
Text File
|
1996-04-23
|
15KB
|
245 lines
** Programmer's Technical Reference for MSDOS and the IBM PC **
TABLE OF CONTENTS
INTRO Introduction, credits, copyrights
CHAPTER 1 DOS and the PC
Some History ..................................................... 1**1
What is DOS? ..................................................... 1**2
Other Operating Systems .......................................... 1**3
Specific Versions of MS/PC-DOS ................................... 1**4
The Operating System Heirarchy ................................... 1**5
DOS Structure .................................................... 1**6
DOS Initialization ............................................... 1**7
CHAPTER 2 Low Memory and Absolute Addresses
Introduction ..................................................... 2**1
System Memory Map ................................................ 2**2
A Brief Guide to Current Memory Terminology ...................... 2**3
PC Port Assignment ............................................... 2**4
Reserved Memory Locations ........................................ 2**5
Absolute Addresses ............................................... 2**6
The IBM PC System Interrupts (Overview) .......................... 2**7
Quick Chart of Interrupts 00h-0FFh ............................... 2**8
IRQ Usage Chart .................................................. 2**9
The IBM-PC System Interrupts 00h-0Fh (in detail) ................. 2**10
CHAPTER 3 ROM BIOS and Serice Interrupts
Calling the ROM BIOS ............................................. 3**1
Interrupt 10h Video Services .................................... 3**2
Interrupt 11h Equipment Check ................................... 3**3
Interrupt 12h Memory Size ....................................... 3**4
Interrupt 13h Disk Functions .................................... 3**5
Interrupt 14h Initialize and Access Serial Port ................. 3**6
FOSSIL Drivers ................................................... 3**7
Interrupt 15h Cassette I/O ...................................... 3**8
Interrupt 16h Keyboard I/O ...................................... 3**9
Interrupt 17h Printer ........................................... 3**10
Interrupt 18h ROM BASIC ......................................... 3**11
Interrupt 19h Bootstrap Loader .................................. 3**12
Interrupt 1Ah Time of Day ....................................... 3**13
Interrupt 1Bh Control-Break ..................................... 3**14
Interrupt 1Ch Timer Tick ........................................ 3**15
Interrupt 1Dh Vector of Video Initialization Parameters ......... 3**16
Interrupt 1Eh Vector of Diskette Controller Parameters .......... 3**17
Interrupt 1Fh Ptr to Graphics Char Extensions (Graphics Set 2) .. 3**18
CHAPTER 4 DOS Function Requests
General Programming Guides ....................................... 4**1
DOS Registers .................................................... 4**2
DOS Stacks ....................................................... 4**3
DOS Interrupts ................................................... 4**4
Interrupt 20h (Terminate) ........................................ 4**5
DOS Services (quick list) ........................................ 4**6
Calling the DOS Services ......................................... 4**7
Version Specific Information ..................................... 4**8
Compatibility Problems With DOS 4.0+ ............................. 4**9
PCjr Cartridge Support ........................................... 4**10
eDOS 4.0 ......................................................... 4**11
DOS Services in Detail ........................................... 4**12
CHAPTER 5 Interrupts 22h through 0FFh
Interrupt 22h Terminate Address ................................ 5**1
Interrupt 23h Ctrl-Break Exit Address .......................... 5**2
Interrupt 24h Critical Error Handler ........................... 5**3
Interrupt 25h Absolute Disk Read ............................... 5**4
Interrupt 26h Absolute Disk Write .............................. 5**5
Interrupt 27h Terminate And Stay Resident ...................... 5**6
Interrupt 28h (not documented by Microsoft) .................... 5**7
Interrupt 29h (not documented by Microsoft) .................... 5**8
Interrupt 2Ah Microsoft Networks - Session Layer Interrupt ..... 5**9
Interrupt 2Bh Unknown .......................................... 5**10
Interrupt 2Ch Unknown .......................................... 5**11
Interrupt 2Dh Unknown .......................................... 5**12
Interrupt 2Eh Alternate EXEC (DOS 2.0+) ........................ 5**13
Interrupt 2Fh Multiplex Interrupt .............................. 5**14
Interrupt 30h FAR jump instruction for CP/M-style calls ........ 5**15
Interrupt 31h Unknown .......................................... 5**16
Interrupt 32h Unknown .......................................... 5**17
Interrupt 33h Used by Microsoft Mouse Driver Function Calls .... 5**18
Interrupt 34h Turbo C/Microsoft languages - Floating Point .... 5**19
Interrupt 35h Turbo C/Microsoft languages - Floating Point .... 5**20
Interrupt 36h Turbo C/Microsoft languages - Floating Point .... 5**21
Interrupt 37h Turbo C/Microsoft languages - Floating Point .... 5**22
Interrupt 38h Turbo C/Microsoft languages - Floating Point .... 5**23
Interrupt 39h Turbo C/Microsoft languages - Floating Point .... 5**24
Interrupt 3Ah Turbo C/Microsoft languages - Floating Point .... 5**25
Interrupt 3Bh Turbo C/Microsoft languages - Floating Point .... 5**26
Interrupt 3Ch Turbo C/Microsoft languages - Floating Point .... 5**27
Interrupt 3Dh Turbo C/Microsoft languages - Floating Point .... 5**28
Interrupt 3Eh Turbo C/Microsoft languages - Floating Point ..... 5**29
Interrupt 3Fh Overlay Manager Interrupt (Microsoft LINK.EXE) ... 5**30
Interrupt 40h Hard Disk BIOS ................................... 5**31
Interrupt 41h Hard Disk Parameters ............................. 5**32
Interrupt 42h Pointer to screen BIOS entry ..................... 5**33
Interrupt 43h Pointer to EGA Graphics Character Table .......... 5**34
Interrupt 44h Pointer to graphics character table .............. 5**35
Interrupt 45h Reserved by IBM (not initialized) ............... 5**36
Interrupt 46h Pointer to second hard disk parameter block ...... 5**37
Interrupt 47h Reserved by IBM (not initialized) ............... 5**38
Interrupt 48h Cordless Keyboard Translation .................... 5**39
Interrupt 49h Non-kbd Scan Code Translation Table Addr (PCjr) .. 5**40
Interrupt 4Ah Real-Time Clock Alarm (Convertible, PS/2) ........ 5**41
Interrupt 4Bh Reserved by IBM (not initialized) ............... 5**42
Interrupt 4Ch Reserved by IBM (not initialized) ............... 5**43
Interrupt 4Dh Reserved by IBM (not initialized) ............... 5**44
Interrupt 4Eh Reserved by IBM (not initialized) ............... 5**45
Interrupt 4Fh Reserved by IBM (not initialized) ............... 5**46
Interrupt 50-57 IRQ0-IRQ7 Relocation ............................. 5**47
Interrupt 58h Reserved by IBM (not initialized) ............... 5**48
Interrupt 59h Reserved by IBM (not initialized) ............... 5**49
Interrupt 5Ah Reserved by IBM (not initialized) .............. 5**50
Interrupt 5Bh Reserved by IBM (not initialized) ............... 5**51
Interrupt 5Ah Cluster Adapter BIOS entry address ............... 5**52
Interrupt 5Bh Reserved by IBM (not initialized) ............... 5**53
Interrupt 5Ch NETBIOS interface entry port, TOPS ............... 5**54
Interrupt 5Dh Reserved by IBM (not initialized) ............... 5**55
Interrupt 5Eh Reserved by IBM (not initialized) ............... 5**56
Interrupt 5Fh Reserved by IBM (not initialized) ............... 5**57
Interrupt 60h-67h User Program Interrupts ....................... 5**58
Interrupt 60h Network OS Interface ............................. 5**59
Interrupt 67h Expanded Memory Board Driver Interrupt ........... 5**60
Interrupt 68h Not Used (not initialized) ...................... 5**61
Interrupt 69h Not Used (not initialized) ...................... 5**62
Interrupt 6Ah Not Used (not initialized) ...................... 5**63
Interrupt 6Bh Not Used (not initialized) ...................... 5**64
Interrupt 6Ch System Resume Vector (Convertible) ............... 5**65
Interrupt 6Dh Not Used (not initialized) ...................... 5**66
Interrupt 6Eh Not Used (not initialized) ...................... 5**67
Interrupt 6Fh 10-Net API........................................ 5**68
Interrupt 70h IRQ 8, Real Time Clock Int (AT, XT/286, PS/2) .... 5**69
Interrupt 71h IRQ 9, Redirected to IRQ 8 (AT, XT/286, PS/2) .... 5**70
Interrupt 72h IRQ 10 (AT, XT/286, PS/2) Reserved ............. 5**71
Interrupt 73h IRQ 11 (AT, XT/286, PS/2) Reserved ............. 5**72
Interrupt 74h IRQ 12 Mouse Interrupt (PS/2) ................... 5**73
Interrupt 75h IRQ 13, Coprocessor Error (AT) ................... 5**74
Interrupt 76h IRQ 14, Hard Disk Controller (AT, XT/286, PS/2) .. 5**75
Interrupt 77h IRQ 15 (AT, XT/286, PS/2) Reserved .............. 5**76
Interrupt 78h Not Used ......................................... 5**77
Interrupt 79h Not Used ......................................... 5**78
Interrupt 7Ah Reserved ......................................... 5**79
Interrupt 7Bh-7Eh Not Used by IBM ............................... 5**80
Interrupt 7Ch REXX-PC API ...................................... 5**81
Interrupt 7Fh IBM 8514/A Graphics Adapter API .................. 5**82
Interrupt 80h-85h Reserved by BASIC ............................. 5**83
Interrupt 86h Int 18 when relocated by NETBIOS ................. 5**84
Interrupt 86h-0F0h Used by BASICA ............................... 5**85
Interrupt 0A4h Right Hand Man API ............................... 5**86
Interrupt 0D4h PC-MOS/386 API ................................... 5**87
Interrupt 0E0h Digital Research CP/M-86 function calls .......... 5**88
Interrupt 0E1h PC Cluster Disk Server Information ............... 5**89
Interrupt 0E2h PC Cluster Program ............................... 5**90
Interrupt 0E4h Logitech Modula-2 v2.0 Monitor Entry ........... 5**91
Interrupt 0E5h Not Used ......................................... 5**92
Interrupt 0E6h Not Used ......................................... 5**93
Interrupt 0E7h Not Used ......................................... 5**94
Interrupt 0E8h Not Used ......................................... 5**95
Interrupt 0E9h Not Used ......................................... 5**96
Interrupt 0EAh Not Used ......................................... 5**97
Interrupt 0EBh Not Used ......................................... 5**98
Interrupt 0ECh Not Used ......................................... 5**99
Interrupt 0EDh Not Used ......................................... 5**100
Interrupt 0EEh Not Used ......................................... 5**101
Interrupt 0EFh GEM interface (Digital Research) ................. 5**102
Interrupt 0F0h unknown .......................................... 5**103
Interrupts 0F1h-0FFh (absolute addresses 3C4h-3FFh) ............. 5**104
Interrupt 0F4h Not Used ............ ............................ 5**105
Interrupt 0F5h Not Used ............ ............................ 5**106
Interrupt 0F8h Set Shell Interrupt (OEM) ........................ 5**107
Interrupt 0F9h Reserved ......................................... 5**108
Interrupt 0FAh USART ready (RS-232C) ............................ 5**109
Interrupt 0FBh USART RS ready (keyboard) ........................ 5**110
Interrupt 0FCh Unknown ...........................................5**111
Interrupt 0FDh reserved for user interrupt ...................... 5**112
Interrupt 0FEh reserved by IBM .................................. 5**113
Interrupt 0FFh reserved by IBM .................................. 5**114
CHAPTER 6 DOS Control Blocks and Work Areas
DOS Address Space ................................................ 6**1
Storage Blocks ................................................... 6**2
Disk Transfer Area (DTA) ......................................... 6**3
Program Segment Prefix ........................................... 6**4
Memory Control Blocks ............................................ 6**5
DOS Program Segment .............................................. 6**6
CHAPTER 7 DOS File Information
File Management Functions ........................................ 7**1
FCB Function Calls ............................................... 7**2
Handle Function Calls ............................................ 7**3
Special File Handles ............................................. 7**4
Raw and Cooked File I/O .......................................... 7**5
Number of Open Files Allowed .................................... 7**6
Restrictions on FCB Usage ........................................ 7**7
Restrictions on Handle usage ..................................... 7**8
Allocating Space to a File ....................................... 7**9
MSDOS / PCDOS Differences ........................................ 7**10
.COM File Structure .............................................. 7**11
.EXE File Structure .............................................. 7**12
The Relocation Table ............................................. 7**13
"NEW" .EXE Format (Microsoft Windows and OS/2) ................... 7**14
Standard File Control Block ...................................... 7**15
Extended File Control Block ...................................... 7**16
Disk Transfer Area ............................................... 7**17
CHAPTER 8 DOS Disk Information
The DOS Area ..................................................... 8**1
The Boot Record .................................................. 8**2
DOS File Allocation Table (FAT) .................................. 8**3
Media Descriptor Byte .................................... 8**4
12 Bit FATs .............................................. 8**5
16 Bit FATs .............................................. 8**6
Cluster Size Information ......................................... 8**7
DOS Disk Directory ............................................... 8**8
The Data Area .................................................... 8**9
Floppy Disk Types ................................................ 8**10
Hard Disk Layout ................................................. 8**11
System Initialization ............................................ 8**12
Boot Record/Partition Table ...................................... 8**13
Hard Disk Technical Information .................................. 8**14
Determining Hard Disk File Allocation ............................ 8**15
BIOS Disk Functions .............................................. 8**16
CHAPTER 9 DOS Device Drivers